package appmodel;

import java.util.Comparator;
import java.util.Hashtable;

import dominio.Planta;

public class Comps {
	
	final Integer criterio;
	private Hashtable<String, Comparator<Planta>> comps = new Hashtable<String, Comparator<Planta>>();
	
	public Comps(Integer criterio) {
		this.criterio = criterio;
		
		comps.put("nombre", new Comparator<Planta>() {
			public int compare(Planta p1, Planta p2) {
		    	return p1.getNombre().compareToIgnoreCase(p2.getNombre()) * Comps.this.criterio;
		    }
		});
		
		comps.put("ataque", new Comparator<Planta>() {
				public int compare(Planta p1, Planta p2) {
			    	return (new Integer(p1.getPuntosAtaque())).compareTo(new Integer(p2.getPuntosAtaque())) * Comps.this.criterio;
			    }
		});
		
		comps.put("defensa", new Comparator<Planta>() {
				public int compare(Planta p1, Planta p2) {
			    	return (new Integer(p1.getPuntosDefensa())).compareTo(new Integer(p2.getPuntosDefensa())) * Comps.this.criterio;
			    }
		});
	}
	
	public Comparator<Planta> get(String key) {
		return this.comps.get(key);
	}
}
